/**
 * Clase que facilita la entrada estandar
 * 
 * @author Alex Muñoz , Mauricio Orellana
 * @version 2012.05.23
 */

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class Lector
{
    private Scanner scanner;
    
    /**
     * Constructor de Objetos de la clase lector
     */
    public Lector()
    {
        this.scanner = new Scanner(System.in);
    }
    
    /**
     * Leer Cadena
     * 
     * @return Cadena leida por teclado
     */
    public String leerCadena()
    {
        return this.scanner.nextLine();
    }
    
    /**
     * Leer opcion
     * 
     * @return Entero leido por entrada estandar
     */
    public int leerOpcion()
    {
        System.out.print("Opcion: ");
        try
        {
            return Integer.parseInt(this.scanner.nextLine());
        }
        catch(NumberFormatException e)
        {
           return 0;         
        }
        
    }
    
    /**
     * Leer Fecha
     * 
     * @return Objeto Calendar que contiene una fecha leida por entrada estandar
     */
    public Calendar leerFecha()
    {
        int day, month, year;
        System.out.println("Formato entrada:\nDia/Mes/Año:");
        try
        {
            String fecha[] = this.scanner.nextLine().split("/");
            if(fecha.length==3)
            {
               day = Integer.parseInt(fecha[0]);
               month = Integer.parseInt(fecha[1]);
               year = Integer.parseInt(fecha[2]);
               
               return new GregorianCalendar(year, month, day);
            }
            else
            {
                System.out.println("Formato incorrecto");
                return null;
            }
        }
        catch(NumberFormatException e)
        {
            System.out.println("Formato incorrecto");
            return null;
        }
    }
}
